package test;

import static org.junit.Assert.*;
import modelo.mAdministrador;
import modelo.mSabio;
import negocio.nAdministrador;
import negocio.nSabio;

import org.junit.Test;

import excepcion.DAOExcepcion;

public class tSabio {

  /*@Test
  public void test() {
    fail("Not yet implemented");
  }*/
  
  /* HISTORIAS */
  
  //@Test
  public void testRegistroExitoso() throws DAOExcepcion{
    // Historia 1 registro exitoso
    String rpta = "";
    // enviando datos
    mSabio mSa = new mSabio();
    mSa.setNombre("Juan");  mSa.setApPaterno("Robles"); mSa.setApMaterno("Guillen"); mSa.setApelativo("Rocke");
    mSa.setResumen("Sabio nuevo"); mSa.setTipDoc("DNI"); mSa.setNumDoc("12345678"); 
    mSa.setEmail("jrobles@hotmail.com"); mSa.setPwd("123456"); mSa.setSexo("M");
    mSa.setSitioWeb("www.sitio.com"); mSa.setCelular("905121215"); mSa.setCtacte("192-10-2131211232"); 
    mSa.setDireccion("jr. acapana 233"); mSa.setFecNac("2000-02-10");
    
    // manda a grabar
    nSabio nSa = new nSabio();
    rpta = nSa.insertar(mSa);
    
    // respuesta esperada si todo sale ok
    assertEquals(rpta, "GRABADO CORRECTAMENTE");
  }
  
  //@Test
  public void testRegistroFaltanDatos() throws DAOExcepcion{
    // Historia 2 registro fallido faltan datos
    String rpta = "";
    // enviando datos
    mSabio mSa = new mSabio();
    mSa.setNombre("Juan");  mSa.setApPaterno(""); mSa.setApMaterno("Guillen"); mSa.setApelativo("Rocke");
    mSa.setResumen("Sabio nuevo"); mSa.setTipDoc("DNI"); mSa.setNumDoc("12345678"); 
    mSa.setEmail("jrobles@hotmail.com"); mSa.setPwd("123456");  mSa.setSexo("M");
    mSa.setSitioWeb("www.sitio.com"); mSa.setCelular("905121215"); mSa.setCtacte("192-10-2131211232"); 
    mSa.setDireccion("jr. acapana 233"); mSa.setFecNac("2000-02-10");
    // manda a grabar
    nSabio nSa = new nSabio();
    rpta = nSa.insertar(mSa);
    
    // respuesta esperada si faltan datos
    assertEquals(rpta, "Error - Faltan datos");
  }
  
  //@Test
  public void testValidaDniEmail() throws DAOExcepcion{
    // Historia 2 registro fallido por existencia de dni o email
    String rpta = "";
    // enviando datos
    mSabio mSa = new mSabio();
    mSa.setNombre("Juan");  mSa.setApPaterno("Robles"); mSa.setApMaterno("Guillen"); mSa.setApelativo("Rocke");
    mSa.setResumen("Sabio nuevo"); mSa.setTipDoc("DNI"); mSa.setNumDoc("02345678"); 
    mSa.setEmail("jroblesd@hotmail.com"); mSa.setPwd("123456");  mSa.setSexo("M");
    mSa.setSitioWeb("www.sitio.com"); mSa.setCelular("905121215"); mSa.setCtacte("192-10-2131211232"); 
    mSa.setDireccion("jr. acapana 233"); mSa.setFecNac("2000-02-10");
    // manda a grabar
    nSabio nSa = new nSabio();
    rpta = nSa.insertar(mSa);
    
    // respuesta esperada si faltan datos
    assertEquals(rpta, "Error - ya existe el DNI");
    //assertEquals(rpta, "Error - ya existe el Email");
  }
  @Test
  public void testAdmin() throws DAOExcepcion{
	  mAdministrador mAdm = new mAdministrador();
	  mAdm.setEmail("admin@hotmail.com");
	  mAdm.setPwd("123456");
	  nAdministrador objAd = new nAdministrador();
	  mAdm = objAd.logUser(mAdm);
	  String rpta = mAdm.getNombre();
	  assertEquals(rpta, "Jose Francisco");
  }

}
